package smartcrud.spring.models.rbac;

import java.util.List;

import smartcrud.common.orm.Page;
import smartcrud.common.orm.PropertyFilter;


public interface MenuDao {
	public Menu createMenu(Menu menu);

	public void deleteMenu(Long id);

	public void updateMenu(Menu menu);

	public Menu findMenuById(Long id);

	public List<Menu> findAllMenus();
	
	public int count();

	public int count(Page<Menu> page,final List<PropertyFilter> filters);
	
	public Page<Menu> findByPage(Page<Menu> page, List<PropertyFilter> filters);

	public List<Menu> findTopLevelMenus();

	public void updateMenuOrder(List<Menu> menus);
}
